package com.vdongchina.miniapp.http.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;

/**
 * Copyright (C)
 * FileName: CreateOrderRequest
 * Author:   maokai
 * Date:     2021/8/12 16:08
 * Description:
 */
@Data
@Builder
public class CreateOrderRequest implements Request {
    /**
     * 是 小程序APPID
     */
    @JsonProperty(value = "app_id")
    private String appId;
    /**
     * 是 开发者侧的订单号, 同一小程序下不可重复
     */
    @JsonProperty(value = "out_order_no")
    private String outOrderNo;
    /**
     * 是 支付价格; 接口中参数支付金额单位为[分]
     */
    @JsonProperty(value = "total_amount")
    private int totalAmount;
    /**
     * 是 商品描述; 长度限制 128 字节，不超过 42 个汉字
     */
    private String subject;
    /**
     * 是 商品详情
     */
    private String body;
    /**
     * 是 订单过期时间(秒); 最小 15 分钟，最大两天
     */
    @JsonProperty(value = "valid_time")
    private int validTime;
    /**
     * 是 开发者对核心字段签名, 签名方式见文档附录, 防止传输过程中出现意外
     */
    @JsonProperty(value = "sign")
    private String sign;
    /**
     * 否	开发者自定义字段，回调原样回传
     */
    @JsonProperty(value = "cp_extra")
    private String cpExtra;
    /**
     * 否 商户自定义回调地址
     */
    @JsonProperty(value = "notify_url")
    private String notifyUrl;
    /**
     * string	否，服务商模式接入必传	第三方平台服务商 id，非服务商模式留空
     */
    @JsonProperty(value = "thirdparty_id")
    private String thirdpartyId;
    /**
     * 是否屏蔽担保支付的推送消息，1-屏蔽 0-非屏蔽，接入 POI 必传
     */
    @JsonProperty(value = "disable_msg")
    private int disableMsg;
    /**
     * 否	担保支付消息跳转页
     */
    @JsonProperty(value = "msg_page")
    private String msgPage;


}
